@startuml DataModel
!theme reddress-lightred

' Hide The Spot
Hide Circle

' Avoid Problems With Angled Crows Feet
Skinparam Linetype Ortho

Entity "ПараметрыСостояния" As ПараметрыСостояния {
  *Имя : Строка
  --
  Контекстный : Булево
  ЭтоТаблица : Булево
  ПутьКДанным : Строка
  НаКлиенте : Булево
  --
  Использование : Булево
  ПроверкаЗаполнения : Булево
  ЗаполнениеПоУмолчанию : Булево
  --
  ПараметрТаблицы : Строка
  ПараметрТекущейСтроки : Строка
  ПараметрОтбораСтрок : Строка
  --
  ПараметрИспользования : Строка
  ПараметрПроверкиЗаполнения : Строка
  ПараметрЗаполненияПоУмолчанию : Строка
  --
  Выражение : Строка
  ИндексЗначения : Число
  Порядок : Число
  --
  ОбработчикПриИзменении : Строка
  ==
  Параметры: СвязиПараметров[]
  ЗависимыеПараметры: СвязиПараметров[]
  ЗависимыеЭлементы: ПараметрыЭлементов[]
}

Entity "ЗначенияПараметров" As ЗначенияПараметров {
  *Параметр : Параметр
  --
  Значение : Произвольный
}

Entity "СвязиПараметров" As СвязиПараметров {
  *ПараметрСостояния : Параметр
  *Параметр : Параметр
  --
  ПутьКДанным : Строка
  Выражение : Строка
  Значение : Произвольный
  --
  ПараметрИспользования : Параметр
}

Entity "ЭлементыФормы" As ЭлементыФормы {
  *Имя : Строка
  --
  Параметр : Параметр
  НаКлиенте : Булево
  ФункцияСостояния : Строка
  ЭтоГруппа: Булево
  ==
  Параметры : ПараметрыЭлементов[]
  Элементы : ЭлементыФормы[]
}

Entity "ПараметрыЭлементов" As ПараметрыЭлементов {
  *Элемент : Элемент
  *Параметр : Параметр
  *Свойство : Строка
  --
  ПутьКДанным : Строка
  --
  ПараметрИспользования : Параметр
}

ПараметрыСостояния ||..O{ СвязиПараметров
ПараметрыСостояния ||..O{ ПараметрыЭлементов
ПараметрыСостояния ||..|| ЗначенияПараметров
ЭлементыФормы |o..|| ПараметрыСостояния
ЭлементыФормы ||..O{ ПараметрыЭлементов
ЭлементыФормы ||..O{ ЭлементыФормы

@enduml
